查看原文
其他

grstyle系列用法——设置图形图例

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:高金凤

本文编辑:张语盈

技术总编:李春涛

有问题,不要怕!访问 

http://www.wuhanstring.com/uploads/5_aboutus/爬虫俱乐部-用户问题登记表.docx (复制到浏览器中)下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~

爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~

爬虫俱乐部隆重推出数据定制及处理业务,您有任何网页数据获取及处理方面的难题,请发邮件至我们邮箱statatraining@163.com,届时会有俱乐部高级会员为您排忧解难!

往期推文《修改图形图例》中我们已经介绍过如何修改图形的图例,其重要性不言而喻。主要方法是在绘图命令的后面加上legend选项进行设置,由于该选项中提供了很多子选项供我们选择,虽实施起来容易,但不方便记忆。然而,grstyle命令也提供了设置图形图例的用法,而且操作更为简单,怎么做呢?

我们以绘制auto数据集中不同车型(变量foreign)的变量mpg与变量weight的散点图为例。

默认情况下,该图形的绘制命令为

sysuse auto, clear
two (scatter mpg weight if foreign) ///
(scatter mpg weight if !foreign),legend(label(1 "国产车") label(2 "进口车"))

得到图形如下:

那么,如何用grstyle命令设置图例呢?

1)设置图例的位置

grstyle init //初始化
grstyle set plain,horizontal compact //美化图形
grstyle set legend 2 //设置图形图例为2点钟方向
two (scatter mpg weight if foreign) ///
(scatter mpg weight if !foreign),legend(label(1 "国产车") label(2 "进口车"))

注:(1)图形图例的位置是以钟表为参照,legend 后面的数字代表钟表的时刻,1代表1点钟方向,2代表2点钟方向,以此类推;(2)命令行grstyleset legend中无法设置图例的标签值。

2)去掉图例边框

grstyle init //初始化
grstyle set plain,horizontal compact //美化图形
grstyle set legend 2,nobox //设置图例为2点钟方向,并去掉图例边框
two (scatter mpg weight if foreign) ///
(scatter mpg weight if !foreign),legend(label(1 "国产车") label(2 "进口车"))

爬虫俱乐部是您身边的科研助手,能够为您在数据处理实证研究中提供帮助。承蒙近四万粉丝的支持与厚爱,我们在腾讯课堂推出了网络视频课程,专注于数据整理、网络爬虫、循环命令编制和结果输出…李老师及团队精彩地讲解,深入浅出,注重案例与实战,让您更加快速高效地掌握Stata技巧及数据处理的精髓,而且可以无限次重复观看,在原有课程基础上已上传了全新的内容!百分百好评,简单易学,一个月让您从入门到精通。绝对物超所值!观看学习网址:

https://ke.qq.com/course/286526?tuin=1b60b462,

敬请关注!

3)图例放在图形里面

grstyle init
grstyle set plain,horizontal compact
grstyle set legend 2,nobox inside
two (scatter mpg weight if foreign) ///
(scatter mpg weight if !foreign),legend(label(1 "国产车") label(2 "进口车"))

为了比较,下面给出不用grstyle命令修改图形图例的方法,详细介绍请参照推文《修改图形图例》。

grstyle clear //在同一个Stata窗口还原原始图形设置
two (scatter mpg weight if foreign) ///
(scatter mpg weight if !foreign), ///
legend(label(1 "国产车") label(2 "进口车") ///
pos(2) region(lpattern(blank) fcolor(none)) ring(0) col(1)) ///
graphregion(fcolor(white)) //设置图形背景色为白色

得到下图:

4)图例中图形形状与标签并为一列

如果图例中标签值过长,为了图形的美观,我们需要将图例中图形形状与标签值堆叠起来。假如,现在我们需要绘制的是不同车型的变量mpg与变量weight的折线图。

Tips:

在上述注意事项中,我们提到命令行grstyle set legend中无法设置图例标签值,为了让图例更加清楚,我们在绘图命令中用了legend选项设置图例的标签。其实,这里我们可以用命令separate,不但可以避免这一步,而且会简化程序。

separate mpg, by(foreign) shortlabel //按照变量foreign

将mpg变量分为2组,并分别生成新变量mpg0与mpg1。由下图可以发现,新生成的变量mpg0 与mpg1 自带标签。

grstyle init //初始化
grstyle set plain,horizontal compact //美化图形
grstyle set legend 4,nobox stacked //选项stacked表示将图例中图形形状与标签值堆叠起来
line mpg? weight,sort //“?”代表变量mpg0和变量mpg1中的数字


以上就是今天的内容,有没有get到新技能呢?

对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!

往期推文推荐

关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存